package com.train.daily.service;

import com.baomidou.mybatisplus.extension.service.IService;
import com.train.daily.dto.station.DailyTrainStationQueryDTO;
import com.train.daily.resp.station.DailyTrainStationPageResp;
import com.train.common.resp.PageResp;
import com.train.daily.dto.station.DailyTrainStationAddOrEditDTO;
import com.train.daily.dto.station.DailyTrainStationPageDTO;
import com.train.daily.po.DailyTrainStationPO;
import com.train.daily.resp.station.DailyTrainStationPageQueryResp;

import java.time.LocalDate;
import java.util.List;
import java.util.Map;

/**
 * @author baitiaojun
 * @description 针对表【dailyTrainStation(每日车站)】的数据库操作Service
 * @createDate 2025-03-01 14:35:49
 */
public interface DailyTrainStationService extends IService<DailyTrainStationPO> {

    void addOrEditDailyTrainStation(DailyTrainStationAddOrEditDTO dailyTrainStationAddOrEditDTO);

    PageResp<DailyTrainStationPageResp> pageList(DailyTrainStationPageDTO dailyTrainStationPageDTO);

    void remove(Long id);

    void generateDailyTrainStation(String date, List<String> trainCodes);

    Map<String, Long> countDailyTrainStation(LocalDate parse, List<String> trainCodes);

    PageResp<DailyTrainStationPageQueryResp> queryTrainStationList(DailyTrainStationQueryDTO dto);
}
